package com.xyrl.project.common.system.entity;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.xyrl.common.util.DateUtil;
import lombok.Data;
import org.apache.commons.lang3.RandomStringUtils;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 在线用户
 */
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ActiveUser implements Serializable {
    private static final long serialVersionUID = 2055229953429884344L;

    // 唯一编号
    private String id = RandomStringUtils.randomAlphanumeric(20);
    /**
     * 用户名
     */
    private String username;
    /**
     * ip地址
     */
    private String ip;
    /**
     * 登妹用户类型
     */
    private String userType;
    /**
     * token(加密后)
     **/
    private String token;
    /**
     * 登录时间
     **/
    private String loginTime = DateUtil.formatFullTime(LocalDateTime.now(), DateUtil.FULL_TIME_SPLIT_PATTERN);
    /**
     * 登录地点
     */
    private String loginAddress;


    @Override
    public boolean equals(Object o) {
        //任何对象不等于null，比较是否为同一类型
        if (!(o instanceof ActiveUser)) {
            return false;
        }
        //强制类型转换
        ActiveUser activeUser = (ActiveUser) o;
        //比较属性值
        return activeUser.getId().equalsIgnoreCase(this.id);
    }
}
